let path = require('path');
let pathAlias = {};
/*
projectRootDir
│
├─vendorDir
├─srcRootDir
│   │
│   ├─dllDir
│   ├─pagesDir
│   ├─publicDir
│       │
│       ├─logicDir
│       ├─libsDir
│       ├─configDir
│       ├─componentsDir
│       ├─layoutDir
│
├─distDir
* */
// 源文件目录
pathAlias.projectRootDir = path.resolve(__dirname, '../../'); // 项目根目录

pathAlias.vendorDir = path.resolve(pathAlias.projectRootDir, './vendor'); // 存放所有不能用npm管理的第三方库
pathAlias.srcRootDir = path.resolve(pathAlias.projectRootDir, './src'); // 项目业务代码根目录

pathAlias.dllDir = path.resolve(pathAlias.srcRootDir, './dll'); // 存放由各种不常改变的js/css打包而来的dll
pathAlias.pagesDir = path.resolve(pathAlias.srcRootDir, './pages'); // 存放各个页面独有的部分，如入口文件、只有该页面使用到的css、模板文件等
pathAlias.publicDir = path.resolve(pathAlias.srcRootDir, './public-resource'); // 存放各个页面使用到的公共资源

pathAlias.logicDir = path.resolve(pathAlias.publicDir, './logic'); // 存放公用的业务逻辑
pathAlias.utilsDir = path.resolve(pathAlias.publicDir, './utils');  // 与业务逻辑无关的库,工具都可以放到这里
pathAlias.configDir = path.resolve(pathAlias.publicDir, './config'); // 存放各种配置文件
pathAlias.componentsDir = path.resolve(pathAlias.publicDir, './components'); // 存放组件，可以是纯HTML，也可以包含js/css/image等，看自己需要
pathAlias.layoutDir = path.resolve(pathAlias.publicDir, './layout'); // 存放UI布局，组织各个组件拼起来，因应需要可以有不同的布局套路

// 生成文件目录
pathAlias.distDir = path.resolve(pathAlias.projectRootDir, './dist'); // 存放编译后生成的所有代码、资源（图片、字体等，虽然只是简单的从源目录迁移过来）

module.exports = pathAlias;
